﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;

namespace GeCo_MenuPrincipal
{
    public abstract class CEtreVivant
    {
        static int idCount = 0;
        protected int id;
        protected int x;
        protected int y;
        protected int age;
        protected string espece;
        protected string libelle;
        protected List<String> especePrefere;
        protected int esperenceVieMax;
        protected int niveauFaim;
        protected int niveauFaimMax;
        protected int libido;
        protected int libidoMax;
        protected int vitesseDeplacement;
        protected bool sexe;
        protected int ageDebutReprod;
        protected int ageFinReprod;
        protected bool dejaDeplace;

        public bool DejaDeplace
        {
            get { return dejaDeplace; }
            set { dejaDeplace = value; }
        }

        public static int IdCount
        {
            get { return CEtreVivant.idCount; }
            set { CEtreVivant.idCount = value; }
        }

        public int Id
        {
            get { return id; }
            set { id = value; }
        }

        public bool Sexe
        {
            get { return sexe; }
            set { sexe = value; }
        }

        public int AgeDebutReprod
        {
            get { return ageDebutReprod; }
            set { ageDebutReprod = value; }
        }

        public int AgeFinReprod
        {
            get { return ageFinReprod; }
            set { ageFinReprod = value; }
        }

        public int LibidoMax
        {
            get { return libidoMax; }
            set { libidoMax = value; }
        }

        public int Libido
        {
            get { return libido; }
            set { libido = value; }
        }

        public int VitesseDeplacement
        {
            get { return vitesseDeplacement; }
            set { vitesseDeplacement = value; }
        }

        public int NiveauFaim
        {
            get { return niveauFaim; }
            set { niveauFaim = value; }
        }

        public int NiveauFaimMax
        {
            get { return niveauFaimMax; }
            set { niveauFaimMax = value; }
        }

        public int X
        {
            get { return x; }
            set { x = value; }
        }       

        public int Y
        {
            get { return y; }
            set { y = value; }
        }
        public string Libelle
        {
            get { return libelle; }
            set { libelle = value; }
        }
        public string Espece
        {
            get { return espece; }
            set { espece = value; }
        }
        public int Age
        {
            get { return age; }
            set { age = value; }
        }
        public int EsperenceVieMax
        {
            get { return esperenceVieMax; }
            set { esperenceVieMax = value; }
        }
        public List<String> EspecePrefere
        {
            get { return especePrefere; }
            set { especePrefere = value; }
        }
        public int GetPourcentageNiveauFaim()
        {
            double tmp;
            tmp = (double)niveauFaim / (double)niveauFaimMax;
            tmp = tmp * 100;
            return (int)tmp;
        }
    }

}
